home *** CD-ROM | disk | FTP | other *** search
- /*
- * Definitions for the MiNT specific ioctl() device driver interface
- * to the socket network access protocol.
- *
- * 09/24/93, kay roemer.
- */
-
- #ifndef _MINTSOCK_H
- #define _MINTSOCK_H
-
- /* perform a socket system call, via ioctl() */
- #define SOCKETCALL (('S' << 8) | 100)
-
- /* socket call command names, passed in the `cmd' field of *_cmd structs */
- enum so_cmd {
- SOCKET_CMD = 0,
- SOCKETPAIR_CMD,
- BIND_CMD,
- LISTEN_CMD,
- ACCEPT_CMD,
- CONNECT_CMD,
- GETSOCKNAME_CMD,
- GETPEERNAME_CMD,
- SEND_CMD,
- SENDTO_CMD,
- RECV_CMD,
- RECVFROM_CMD,
- SETSOCKOPT_CMD,
- GETSOCKOPT_CMD,
- SHUTDOWN_CMD,
- SENDMSG_CMD,
- RECVMSG_CMD
- };
-
- /* used to extract the `cmd' field from the *_cmd structs */
- struct generic_cmd {
- short cmd;
- char data[10];
- };
-
- /* structures passed to the SOCKETCALL ioctl() as an argument */
- struct socket_cmd {
- short cmd;
- short domain;
- short type;
- short protocol;
- };
-
- struct socketpair_cmd {
- short cmd;
- short domain;
- short type;
- short protocol;
- };
-
- struct bind_cmd {
- short cmd;
- void *addr;
- short addrlen;
- };
-
- struct listen_cmd {
- short cmd;
- short backlog;
- };
-
- struct accept_cmd {
- short cmd;
- void *addr;
- short *addrlen;
- };
-
- struct connect_cmd {
- short cmd;
- void *addr;
- short addrlen;
- };
-
- struct getsockname_cmd {
- short cmd;
- void *addr;
- short *addrlen;
- };
-
- struct getpeername_cmd {
- short cmd;
- void *addr;
- short *addrlen;
- };
-
- struct send_cmd {
- short cmd;
- char *buf;
- long buflen;
- short flags;
- };
-
- struct sendto_cmd {
- short cmd;
- char *buf;
- long buflen;
- short flags;
- void *addr;
- short addrlen;
- };
-
- struct recv_cmd {
- short cmd;
- char *buf;
- long buflen;
- short flags;
- };
-
- struct recvfrom_cmd {
- short cmd;
- char *buf;
- long buflen;
- short flags;
- void *addr;
- short *addrlen;
- };
-
- struct setsockopt_cmd {
- short cmd;
- short level;
- short optname;
- void *optval;
- long optlen;
- };
-
- struct getsockopt_cmd {
- short cmd;
- short level;
- short optname;
- void *optval;
- long *optlen;
- };
-
- struct shutdown_cmd {
- short cmd;
- short how;
- };
-
- struct sendmsg_cmd {
- short cmd;
- void *msg;
- short flags;
- };
-
- struct recvmsg_cmd {
- short cmd;
- void *msg;
- short flags;
- };
-
- #endif /* _MINTSOCK_H */
-